Sauvegarde/Restauration du système
Les procédures ci-dessous permettent d'assurer la non perte de donnée et la remise en état d'un système après incident.
Sauvegarde du S3
Le S3 Technique contient :
- des buckets de données techniques d'autres composants (ex: bucket
cosign-public-keyspour SAp) - des buckets de sauvegardes de données des composants sous Kubernetes (ex: bucket
kosmos-sql-backuppour la sauvegarde du cluster PostgreSQL technique)
Il est nécessaire de sauvegarder certains de ces buckets vers un S3 externe au cluster Kubernetes.
La procédure de sauvegarde est ordonnancée par un Cronjob Kubernetes tous les jours à 5h00
La procédure est disponible ici
Le cluster S3 métier (shared-s3) n'est pas sauvegardé (cf Sauvegarde métier ).
Restauration du S3
La procédure de restauration s'exécute à la demande en précisant la sauvegarde à une date donnée et la liste des buckets à restaurer.
Dans le cas d'un PRA, la procédure doit etre précédée de la récréation du cluster S3 technique "vide".
La procédure est disponible ici
Il n'y a pas de procédure de restauration globale pour le cluster S3 métier (cf Restauration métier ).
Sauvegarde de PostgreSQL
Le cluster PostgreSQL technique (kosmos-sql) contient les bases de données techniques de certains composants (ex: Keycloak).
Il est sauvegardé dans le bucket dédié kosmos-sql-backup du cluster S3 technique.
La procédure de sauvegarde est ordonnancée par un Cronjob Kubernetes tous les jours à 4h00
La procédure est disponible ici
Le cluster PostgreSQL métier (shared-sql) n'est pas sauvegardé (cf Sauvegarde métier ).
Restauration de PostgreSQL
La procédure de restauration va recréer l'ensemble du cluster PostgreSQL technique (l'ensemble des databases). Il n'est pas possible de restaurer que certaines databases du cluster
La procédure de restauration s'exécute à la demande en précisant la sauvegarde à une date donnée.
Dans le cas d'un PRA, la procédure doit etre précédée de la récréation du cluster PostgreSQL technique "vide"
La procédure est disponible ici
Il n'y a pas de procédure de restauration globale pour le cluster S3 métier (cf Restauration métier ).
Sauvegarde de ETCD
Les ressources Kubernetes Secrets et backups.postgresql.cnpg.io sont sauvegardées par Véléro dans le Bucket dédié velero-backup du S3 Technique.
La procédure de sauvegarde est ordonnancée par un Cronjob Kubernetes tous les jours à 4h00
Pour modifier cette configuration vous pouvez modifier la partie Schedules du fichier /data/apps/platform-provisioner/values/valero/values.yaml
schedules:
daily-backup:
disabled: false
schedule: "0 4 * * *" # Run at 4 AM daily (same as postgresql backup)
useOwnerReferencesInBackup: false
template:
ttl: "720h" # Keep backups for 30 days
includedNamespaces:
- "*" # Backup all namespaces
# Optionally exclude certain resources
# excludedResources:
# - events
# - events.events.k8s.io
includedResources:
- secrets
- backups.postgresql.cnpg.io
includeClusterResources: true
Afin d'assurer une cohérence des données sauvegarder, l'ordonnancement doit être le même que celui de la sauvegarde du cluster PostgreSQL.
Afin d'assurer la restauration du cluister PostgreSQL en toute circinstance, les secrets et backups.postgresql.cnpg.io ne doivent pas etre retirés du périmetre de la sauvegarde.
Les sauvegardes sont consultables par les commandes suivantes
kubectl -n kosmos-system-restricted exec velero-59496b65cf-lwckz -c velero -- /velero backup get
ou
kubectl -n kosmos-system-restricted get backups.velero.io
Restauration de ETCD
La procédure de restauration va recréer les ressources Kubernetes en injectant les données sauvegardées la database ETCD existante.
Compte tenu des composants sauvegardés (PostgreSQL, S3), seuls les secrets et backups.postgresql.cnpg.io font l'objet de la restauration.
Créer pour cela une ressource Kubernetes restores.velero.io indiquant le backupName souhaité:
cat <<EOF | kubectl -n kosmos-system-restricted apply -f -
apiVersion: velero.io/v1
kind: Restore
metadata:
name: restore-2025-11-24
spec:
backupName: velero-daily-backup-20251112175042
includedResources:
- secrets
- backups.postgresql.cnpg.io
includedNamespaces:
- "*"
existingResourcePolicy: update
EOF
Sauvegarde métier
Le service EdS propose une fonctionalité de sauvegarde des espaces de stockage. La sauvegarde est déclenchée manuellement depuis l'interface S-EDS. Les sauvegardes sont stockées dans le S3 Technique dans le bucket eds-backups.
Restauration métier
Le service EdS propose une fonctionalité de restauration des espaces de stockage. Il faut au préalable recréer les espaces de stockage à l'identique. La restauration est ensuite déclenchée manuellement depuis l'interface S-EdS. Les sauvegardes sont récupérées depuis le S3 Technique dans le bucket eds-backups.